session_start();
include("config.php");
include("class.template.php");
$tmpl = new Q_TEMPLATE();
if($_GET['Mode'] == 'pc_hardware'){
$_GET['Mode']='pc-hardware';
}
@mysql_connect($dbServer, $dbUser, $dbPass) or die("Couldn't connect to database server: " . mysql_error());
@mysql_select_db($dbName) or die("Couldn't connect to database: " . mysql_error());
function errform($msg, $var = ''){
global $posterr, $_POST;
$posterr = 1;
echo "
$msg
";
if ($var) $_POST[$var] = '';
}
$ArraySearchType = array(
"All"=>"AllSearches",
"Asin" => "AsinSearch",
"Author" => "AuthorSearch",
"Manufacturer" => "ManufacturerSearch",
"BrowseNode" => "BrowseNodeSearch",
"Keyword" => "KeywordSearch"
);
$ArraySort = array(
"Featured" => "+pmrank",
"Sales" => "+salesrank",
"Reviews" => "+reviewrank"
);
function Amazon($SearchType, $SearchString, $Sort, $Mode, $Type, $Page, &$d_ar, &$i_ar) {
global $AssociatesID;
global $DevToken;
global $cacheDir;
global $Locale;
global $cacheOn;
if(!$Locale)$Locale="us";
// --- Build XML Link ---
$xmlFeed = 'http://xml.amazon.com/onca/xml3?t=' .$AssociatesID;
$xmlFeed .= '&dev-t=' .$DevToken;
$xmlFeed .= '&' .$SearchType;
$xmlFeed .= '=' .$SearchString;
$xmlFeed .= '&mode=' .$Mode;
$xmlFeed .= '&sort=' .$Sort;
$xmlFeed .= '&locale=' .$Locale;
$xmlFeed .= '&offer=All&type=' .$Type;
$xmlFeed .= '&page=' .$Page. '&f=xml';
// echo $xmlFeed. '
';
// --- Include the cache package ---
// --- Set an ID for this cache ---
$id = $xmlFeed;
if($cacheOn){
$keepalive = 60*60*1;
$cacheDir = "./cache/";
// Check to see if there is a valid cache of xml
$LocalFile=$cacheDir."/".md5($id).".dat";
if((file_exists($LocalFile)) && (($TmpTime=time())-filemtime($LocalFile)<$keepalive) && $cacheDir){
$xmlCache=@implode("",@file($LocalFile));
$parser = xml_parser_create();
xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1);
xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0);
xml_parse_into_struct($parser,$xmlCache,&$d_ar,&$i_ar);
xml_parser_free($parser);
}else{
$data = @implode("",file($xmlFeed));
if(!strpos($data, 'xml')){ // there is no XML data in the string (Amazon's Web Services are down)
return false;
} else { // there is XML data, so parse the XML
$parser = xml_parser_create();
xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1);
xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0);
xml_parse_into_struct($parser,$data,&$d_ar,&$i_ar);
xml_parser_free($parser);
// --- Cache the XML ---
$LocalFile=$cacheDir."/".md5($id).".dat";
if($data && file_exists($cacheDir) && $cacheDir){
fwrite(fopen("$LocalFile", "w"),$data,strlen($data));
}
}
}
}else{
$data = @implode("",file($xmlFeed));
if(!strpos($data, 'xml')){ // there is no XML data in the string (Amazon's Web Services are down)
return false;
} else { // there is XML data, so parse the XML
$parser = xml_parser_create();
xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1);
xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0);
xml_parse_into_struct($parser,$data,&$d_ar,&$i_ar);
xml_parser_free($parser);
}
}
}
function myround($amt,$dec="3"){
ob_start();
if($dec == 2){
printf("%6.2f",$amt);
}else{
printf("%6.3f",$amt);
}
$amount = ob_get_contents();
ob_end_clean();
$amount = str_replace(" ","",$amount);
return $amount;
}
class fptime{
function fptime(){
return 1;
}
function mytime($stamp="",$format="m/d/Y"){
return date( $format,($stamp ? $stamp : time()) );
}
function stamp($mm,$dd,$yy,$hh=0,$min=0,$sec=0){
return mktime($hh,$min,$sec,$mm,$dd,$yy);
}
function subhours($interval,$mm,$dd,$yy,$hh,$m,$s){
return $this->stamp( $mm,$dd,$yy,($hh-$interval),$m,$s );
}
function addhours($interval,$mm,$dd,$yy,$hh,$m,$s){
return $this->stamp( $mm,$dd,$yy,($hh+$interval),$m,$s );
}
function subdays($interval,$mm,$dd,$yy){
return $this->stamp($mm,($dd-$interval),$yy);
}
function adddays($interval,$mm,$dd,$yy,$hh=0,$min=0,$sec=0){
return $this->stamp($mm,($dd+$interval),$yy,$hh,$min,$sec);
}
function submonths($interval,$mm,$dd,$yy){
return $this->stamp( ($mm-$interval),$dd,$yy );
}
function addmonths($interval,$mm,$dd,$yy){
return $this->stamp( ($mm+$interval),$dd,$yy );
}
function subyears($interval,$mm,$dd,$yy){
return $this->stamp( $mm,$dd,($yy-$interval) );
}
function addyears($interval,$mm,$dd,$yy){
return $this->stamp( $mm,$dd,($yy+$interval) );
}
function DateDiff ($interval, $date1,$date2) {
// get the number of seconds between the two dates
$timedifference = $date2 - $date1;
switch ($interval) {
case "w":
$retval = $timedifference/604800;
$retval = floor($retval);
break;
case "d":
$retval = $timedifference/86400;
$retval = floor($retval);
break;
case "h":
$retval = $timedifference/3600;
$retval = floor($retval);
break;
case "n":
$retval = $timedifference/60;
$retval = floor($retval);
break;
case "s":
$retval = floor($timedifference);
break;
}
return $retval;
}
function dateNow($format="%Y%m%d"){
return(strftime($format,time()));
}
function dateToday(){
$ndate = time();
return( $ndate );
}
function daysInMonth($month="",$year=""){
if(empty($year)) {
$year = $this->dateNow("%Y");
}
if(empty($month)) {
$month = $this->dateNow("%m");
}
if($month == 2) {
if($this->isLeapYear($year)) {
return 29;
} else {
return 28;
}
} elseif($month == 4 or $month == 6 or $month == 9 or $month == 11) {
return 30;
} else {
return 31;
}
}
function isLeapYear($year=""){
if(empty($year)) {
$year = $this->dateNow("%Y");
}
if(strlen($year) != 4) {
return false;
}
if(preg_match("/\D/",$year)) {
return false;
}
return (($year % 4 == 0 && $year % 100 != 0) || $year % 400 == 0);
}
}
function getSavings($a,$b){
if($b != 0){
$retVal = $b - $a;
$retVal = ($retVal/$b) * 100;
$retVal = round($retVal,2);
}else{
$retVal = 0;
}
return $retVal;
}
function getRatingBar($avgRating){
$stars = "";
if($avgRating){
for($rat = 0; $rat < floor($avgRating); $rat++){
$stars .= "
";
}
if($avgRating - floor($avgRating) > 0){
$stars .= "
";
}
for($rat = ceil($avgRating); $rat < 5; $rat++){
$stars .= "
";
}
}else{
$stars = "[ not yet rated ]";
}
return $stars;
}
function myurlencode ( $TheVal ){
return urlencode (str_replace("/","{+}",$TheVal));
}
function myurldecode ( $TheVal ){
return str_replace("{+}","/",($TheVal));
}
function safename($name){
$retVal = str_replace('/',' ',$name);
$retVal = str_replace('-',' ',$retVal);
$retVal = str_replace(' & ',' ',$retVal);
$retVal = str_replace('"',' ',$retVal);
$retVal = str_replace(".",' ',$retVal);
$retVal = str_replace("'",' ',$retVal);
$retVal = str_replace(",",' ',$retVal);
$retVal = str_replace(' ','_',$retVal);
$retVal = str_replace(':','',$retVal);
$retVal = str_replace('#','',$retVal);
$retVal = str_replace('(','',$retVal);
$retVal = str_replace(')','',$retVal);
return $retVal;
}
function getDept($acode){
list($code,$name) = mysql_fetch_array( mysql_query("SELECT code,name FROM sections WHERE code='$acode'") );
if($code == $acode){
return $name;
}
return 0;
}
function getDefault($cat=""){
if($cat){
list($code) = mysql_fetch_array( mysql_query("SELECT code FROM sections WHERE cdef='1' AND cat='$cat'") );
list($mode) = mysql_fetch_array( mysql_query("SELECT mode FROM cats WHERE id='$cat'") );
}else{
list($code,$cat) = mysql_fetch_array( mysql_query("SELECT code,cat FROM sections WHERE def='1'") );
list($mode) = mysql_fetch_array( mysql_query("SELECT mode FROM cats WHERE id='$cat'") );
}
$def[0] = $code;
$def[1] = $mode;
return $def;
}
?>
$siteName = $sitename;
$siteUrl = $siteurl;
if(!isset($showDefault)){$showDefault = 0;}
// --- Set SearchType ---
$SearchType = $ArraySearchType['BrowseNode'];
$BrowseDefault = getDefault();
$title = $siteName;
// $welcome = 1;
if(is_numeric(strpos($_SERVER["SCRIPT_NAME"], "index"))) {
if(isset($_GET['cat']) && !$showDefault){
list($cat_name) = mysql_fetch_array( mysql_query("SELECT name AS cat_name FROM cats WHERE id='".$_GET['cat']."'") );
$title = str_replace('-',' ',$cat_name);
$title = "".$title;
$title = $siteName." :: ".$title;//." :: ".$siteUrl;
}else if(isset($_GET['Browse'])){
$Browse = (int) $_GET['Browse'];
if(!getDept($Browse)){ // verify that the BrowseNode returned in the querystring has been saved in the $ArraySearchString array
$Browse = $BrowseDefault[0];
}
$title = str_replace('-',' ',getDept($Browse));
if(isset($_GET['Mode'])){
$Mode = $_GET['Mode'];
}else{
# $Mode = 'photo';
$Mode = $BrowseDefault[1];
}
$title = $title." Products";
$title = $siteName." :: ".$title;//." :: ".$siteUrl;
}else if( $showDefault ) {
$nocat = 1;
if($_GET['cat']){
if($showDefault){
$Browse = getDefault($cat);
if($Browse[0]){
$nocat = 0;
$welcome = 0;
}
}
}else{
$Browse = $BrowseDefault;
$welcome = 1;
}
$title = str_replace('-',' ',getDept($Browse[0]));
if(isset($_GET['Mode'])){
$Mode = $_GET['Mode'];
}else{
# $Mode = 'photo';
$Mode = $BrowseDefault[1];
}
$title = $title." Products";
$title = $siteName." :: ".$title;//." :: ".$siteUrl;
}else{
$welcome = 1;
$title = $siteName." :: ".$siteurl;//." :: ".$siteUrl;
}
}else if(is_numeric(strpos($_SERVER["SCRIPT_NAME"], "search"))) {
$welcome = 0;
$title = $siteName." :: $q";// :: ".$siteUrl;
}else if(is_numeric(strpos($_SERVER["SCRIPT_NAME"], "product"))) {
$SearchType = $ArraySearchType['Asin'];
if(isset($_GET['ASIN'])){
$SearchString = $_GET['ASIN'];
}
$SortString = $ArraySort['Featured'];
# $Mode = 'photo';
$Type = 'heavy';
$PageNum = 1;
$AmazonXml = Amazon($SearchType, $SearchString, $SortString, $Mode, $Type, $PageNum, $d_ar, $i_ar);
for($i=0; $iname);
if($seo){
$leftNav .= '' .$row->name. '
';
}else{
$leftNav .= '' .$row->name. '
';
}
}
$leftLinks .= "Payment Methods
";
$leftLinks .= "Shipping
";
$leftLinks .= "Safe Shopping
";
$leftLinks .= "Contact Us
";
$qr1 = mysql_query("SELECT * FROM cats WHERE status=1");
$i = 1;
$modeList = "";
while( $row = mysql_fetch_object($qr1) ){
$sel="";
if($_GET['Mode'] == $row->mode)$sel="SELECTED";
$modeList .= "